def isPerfectNumber(n: int) -> bool:
	"""判断 n 是否为完数（完全数）。

	一个数如果等于它的因子之和，则称为完数；例如 6 = 1 + 2 + 3。

	实现细节：使用 for 循环遍历所有可能的真因子（从 1 到 n//2），累加后比较。
	"""
	if n <= 1:
		return False

	s = 0
	# 遍历 1 到 n//2（包含），因为任何大于 n/2 的正因子都只能是 n 本身
	for i in range(1, n // 2 + 1):
		if n % i == 0:
			s += i

	return s == n


if __name__ == '__main__':
	# 简单交互：接受一个整数并判断是否为完数
	try:
		value = int(input('请输入一个正整数：').strip())
	except Exception:
		print('输入无效，请输入整数。')
	else:
		if isPerfectNumber(value):
			print(f"{value} 是完数（完全数）。")
		else:
			print(f"{value} 不是完数。")

	# 示例：快速显示一些已知完数（6, 28, 496）作为自检
	examples = [6, 28, 496]
	print('\n自检示例:')
	for num in examples:
		print(f"{num}: {isPerfectNumber(num)}")

